/*
 * udsv_types.h
 *
 *  Created on: Feb 22, 2021
 *      Author: taoyu
 */

#ifndef UDS_SERVER_UDSV_TYPES_H_
#define UDS_SERVER_UDSV_TYPES_H_

#include "uds_types.h"
#include "framework_types.h"

typedef struct
{
	uint16 did;
	UDS_NRC (*ioControl)(uint16 did, UDS_IOCP iocp, uint8 * pData, uint8 length);
}
UDSV_IOC_DESC;

typedef struct
{
	uint16 did;
	UDS_NRC (*readDataByID)(uint16 did, uint8 * pData, uint8 bufferSize, uint8 * pDataLength);
}
UDSV_RDBI_DESC;

typedef struct
{
	uint16 rid;
	UDS_NRC (*routineControlStart)(uint16 rid, uint8 * pData, uint8 length);
	UDS_NRC (*routineControlStop)(uint16 rid, uint8 * pData, uint8 length);
	UDS_NRC (*routineControlRequestResult)(uint16 rid, uint8 * pData, uint8 length);
}
UDSV_RC_DESC;

#endif /* UDS_SERVER_UDSV_TYPES_H_ */
